package com.xiaohan.usercenter.service;

import com.xiaohan.usercenter.model.domain.User;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;

/**
* @author xiaohan
* @description 针对表【user(用户信息表)】的数据库操作Service
* @createDate 2025-02-23 14:59:04
*/
public interface UserService extends IService<User> {

	/**
	 * 用户注册
	 *
	 * @param userAccount 登陆账号
	 * @param password 密码
	 * @param checkPassword 密码校验
	 * @return 新用户id
	 */
	Long register(String userAccount,String password,String checkPassword);

	/**
	 * 用户登录
	 *
	 * @param userAccount 账号
	 * @param password   密码
	 * @param request 用以维护会话信息
	 * @return 当前登录的用户信息（需脱敏）
	 */
	User login(String userAccount, String password, HttpServletRequest request);

	/**
	 * 用户密码脱敏
	 * @param originUser 源用户
	 * @return 密码脱敏后的用户
	 */
	User getSafetyUser(User originUser);

	/**
	 * 用户注销
	 * @param request 维护会话
	 * @return
	 */
	int logout(HttpServletRequest request);
}
